
#ifndef _MEMBER_BLISTWIDGET_H_
#define _MEMBER_BLISTWIDGET_H_

#include <BScrollBar>
#include <BListItem>
#include <BListWidget>

#define list_member(list)			((member_BListWidget*)((BListWidget*)list)->_ptr)

namespace BWE
{
	class member_BListWidget
	{
	public:
		member_BListWidget(BListWidget* listWidget);
		~member_BListWidget();

		void freshArea();
		void freshVisualItems();
	
		BListWidget*	boss;
		Orientation		orientation;
		SelectMode		selectMode;
		BSize			itemSize;
		Align			itemAlign;
		Policy			itemPolicy;
		int				itemSpacing;
		const BStyle*	itemStyle;

		bool			dirty;
		int				showBegin;
		int				showEnd;
		bool			dirtyVisual;
		bool			pressed;
		BListItem*		hoveredItem;

		BArray<BListItem*>		selectedItems;
		BArray<BListItem*>		checkedItems;
		BList<BListItemHolder>	items;
	};
}

#endif